/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases;

import controladores.ConvenioXPeriodoXEstudianteFacadeLocal;
import entidades.ConvenioXPeriodoXEstudiante;
import entidades.Estudiante;
import entidades.SeguimientoTelefonicoPractica;
import java.io.Serializable;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpServletRequest;
import negocio.EstudianteInterface;
import negocio.SeguimientoTelefonicoInterface;

/**
 *
 * @author BATAQUERO
 */
@ManagedBean
@ViewScoped
public class FSeguimTelefonicoPrac implements Formato, Serializable {
    private SeguimientoTelefonicoPractica seguimientoTelefonicoPractica = new SeguimientoTelefonicoPractica();
    @EJB
    private SeguimientoTelefonicoInterface seguimientoTelefonicoInterface;
     private EstudianteInterface estudianteInterface;
    private List<Estudiante> listaEstudiantes;
    private String estudianteSelected;
    //private ConvenioXPeriodoXEstudiante convenioXPeriodoXEstudiante;
    @EJB
    private ConvenioXPeriodoXEstudianteFacadeLocal convenioXPeriodoXEstudianteFacadeLocal;
    @ManagedProperty(value = "#{sessionBean}")
    private SessionBean sessionBean;
    private Estudiante estudiante = new Estudiante();
    private int idSupervisor;
    private List<ConvenioXPeriodoXEstudiante> convenioXPeriodoXEstudiantes;
    private String ESTADO_PERIODO = "ACT";
    
    private boolean renderedGuardar;
    private boolean renderedEditar;
    private boolean renderedImprimir;

    public FSeguimTelefonicoPrac() {
    }

    public Estudiante getEstudiante() {
        return estudiante;
    }

    public void setEstudiante(Estudiante estudiante) {
        this.estudiante = estudiante;
    }

    @PostConstruct
    public void InicializarVariables() {
        HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
        if (request.getParameter("accionSeguimientoTelefonicoPractica") != null) {
            String accion = (String) request.getParameter("accionSeguimientoTelefonicoPractica");
            if (accion.equals("Consultar")) {
                if (request.getParameter("seguimientoTelefonicoPractica") != null) {
                    seguimientoTelefonicoPractica = seguimientoTelefonicoInterface.consultarSeguimientoTelefonicoPractica(Integer.parseInt(request.getParameter("seguimientoTelefonicoPractica").toString()));                    
                    renderedEditar = false;
                    renderedGuardar= false;
                    renderedImprimir= true;
                }
            } else {
                if (accion.equals("Editar")) {
                    if (request.getParameter("seguimientoTelefonicoPractica") != null) {
                    
                }
                } else {
                    if (accion.equals("Nuevo")) {
                        idSupervisor = sessionBean.getUsuarioSession().getIdUsuario();
                        convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudianteFacadeLocal.listarEstudiantesXSupervisor(idSupervisor, ESTADO_PERIODO);
                        renderedEditar = false;
                        renderedGuardar = true;
                        renderedImprimir = false;
                  
                    }
                }
            }
        }
    }

    public boolean isRenderedImprimir() {
        return renderedImprimir;
    }

    public void setRenderedImprimir(boolean renderedImprimir) {
        this.renderedImprimir = renderedImprimir;
    }

    public boolean isRenderedGuardar() {
        return renderedGuardar;
    }

    public void setRenderedGuardar(boolean renderedGuardar) {
        this.renderedGuardar = renderedGuardar;
    }

    public boolean isRenderedEditar() {
        return renderedEditar;
    }

    public void setRenderedEditar(boolean renderedEditar) {
        this.renderedEditar = renderedEditar;
    }

    @Override
    public void ConsultarFormato() {
       

    }

    @Override
    public void DiligenciarFormato() {
        try {
            System.out.println("entro por aqui :)");
            Estudiante estudiante = new Estudiante(Integer.parseInt(estudianteSelected));
            estudiante.setIdEstudiante(Integer.parseInt(estudianteSelected));
            seguimientoTelefonicoPractica.setConvenioXPeriodoXEstudiante(convenioXPeriodoXEstudianteFacadeLocal.consultarConvenioXPeriodoXEstudiante(Integer.parseInt(estudianteSelected),ESTADO_PERIODO));
            seguimientoTelefonicoPractica.setIdSeguimientosTelefonico(seguimientoTelefonicoInterface.obtenerMaxId());
            seguimientoTelefonicoInterface.crear(seguimientoTelefonicoPractica);
            FacesMessage facesMessage = new FacesMessage("Datos guardados con éxito");
            FacesContext.getCurrentInstance().addMessage(null, facesMessage);
            limpiarCampos();
        } catch (Exception e) {
            FacesMessage facesMessage = new FacesMessage("Error");
            FacesContext.getCurrentInstance().addMessage(null, facesMessage);
        }
    }

    @Override
    public void AprobarFormato() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void EditarFormato() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public void limpiarCampos(){
        estudianteSelected = "";
        seguimientoTelefonicoPractica = null;
    }
    public SeguimientoTelefonicoPractica getSeguimientoTelefonicoPractica() {
        return seguimientoTelefonicoPractica;
    }

    public void setSeguimientoTelefonicoPractica(SeguimientoTelefonicoPractica seguimientoTelefonicoPractica) {
        this.seguimientoTelefonicoPractica = seguimientoTelefonicoPractica;
    }

    public List<Estudiante> getListaEstudiantes() {
        return listaEstudiantes;
    }

    public void setListaEstudiantes(List<Estudiante> listaEstudiantes) {
        this.listaEstudiantes = listaEstudiantes;
    }

    public String getEstudianteSelected() {
        return estudianteSelected;
    }

    public void setEstudianteSelected(String estudianteSelected) {
        this.estudianteSelected = estudianteSelected;
    }

    public SessionBean getSessionBean() {
        return sessionBean;
    }

    public void setSessionBean(SessionBean sessionBean) {
        this.sessionBean = sessionBean;
    }

    public List<ConvenioXPeriodoXEstudiante> getConvenioXPeriodoXEstudiantes() {
        return convenioXPeriodoXEstudiantes;
    }

    public void setConvenioXPeriodoXEstudiantes(List<ConvenioXPeriodoXEstudiante> convenioXPeriodoXEstudiantes) {
        this.convenioXPeriodoXEstudiantes = convenioXPeriodoXEstudiantes;
    }
    
    
}
